#include <iostream>

// 两种假设情况： u[1]位置有雷， u[1]位置没有雷
// 根据这个公式向下推：u[i] = v[i - 1] - u[i - 1] - u[i - 2];

const int N = 1e4 + 10;
int u[N], v[N];
int n;

int check0()
{
    u[1] = 0;
    for (int i = 2; i <= n + 1; i++)
    {
        u[i] = v[i - 1] - u[i - 1] - u[i - 2];
        if (u[i] < 0 || u[i] > 1)
            return 0;
    }
    if (u[n + 1] == 0)
        return 1;
    else return 0;
}

int check1()
{
    u[1] = 1;
    for (int i = 2; i <= n + 1; i++)
    {
        u[i] = v[i - 1] - u[i - 1] - u[i - 2];
        if (u[i] < 0 || u[i] > 1)
            return 0;
    }
    if (u[n + 1] == 0)
        return 1;
    else return 0;
}

int main()
{
    std::cin >> n;
    for (int i = 1; i <= n; i++)
    {
        std::cin >> v[i];
    }
    int x = check0();
    int y = check1();
    std::cout << x + y << std::endl;
    return 0;
}

// // 枚举所有的 月 日， 转化为回文日期，然后与date进行比较
// // 12个月
// int day[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

// int date1, date2;
// // 转化会问日期
// // j % 10 * 1000 + j / 10 * 100 + i % 10 * 10 + i / 10;

// int main()
// {
//     int ret = 0;
//     std::cin >> date1 >> date2;
//     for(int i = 1; i <= 12; i++)
//     {
//         for(int j = 1; j <= day[i]; j++)
//         {
//             int cur = j % 10 * 1000 + j / 10 * 100 + i % 10 * 10 + i / 10;;
//             int date = cur * 10000 + i * 100 + j;
//             if(date >= date1 && date <= date2) ret++;
//         }
//     }
//     std::cout << ret << std::endl;

//     return 0;
// }

// namespace p1
// {
//     const int N = 1e4 + 10;
//     int n;
//     int a[N], b[N], g[N], k[N];
//     int x, y;
// };

// // a, b
// // a + g, b + k
// int p1003()
// {
//     std::cin >> p1::x >> p1::y;
//     for(int i = p1::n; i >= 1; i--)
//     {
//         if(p1::x >= p1::a[i] && p1::y >= p1::b[i] && p1::x <= p1::a[i] + p1::g[i] && p1::y <= p1::b[i] + p1::k[i])
//         {
//             return i;
//         }
//     }
//     return -1;
// }

// int main()
// {
//     std::cin >> p1::n;
//     for(int i = 1; i <= p1::n; i++) std::cin >> p1::a[i] >> p1::b[i] >> p1::g[i] >> p1::k[i];
//     std::cout << p1003() << std::endl;

//     return 0;
// }